public class operation {
    public static void main(String[] args){
        System.out.println("hello");
        System.out.println("\"hello\"");
        System.out.println("\\\"hello\\\"");

    }

    public static void main8(String[] args){
        //字符串住转化为数值
        String str = "1234";
        int a = Integer.parseInt(str);
        int b = Integer.valueOf(str);
        double d = Double.parseDouble(str);
        short sh = Short.parseShort(str);
        System.out.println(d);
        System.out.println(sh);
        System.out.println(b);
        System.out.println(a+12);
    }

    public static void main7(String[] args){
        //数值转换为字符串
        int a = 10;
        //进行拼接
        String str = a+"";
        System.out.println(str);
        //借助方法
        String ret = String.valueOf(a);
        String che = String.valueOf('d');
        System.out.println(che);
        System.out.println(ret);
    }

    public static void main6(String[] args){
        //引用数据类型（字符串）
        //java当中的字符串不是以\0结尾的
        String s = "hello";
        System.out.println(s);
        int a = 10;
        double b = 20;
        System.out.println(a+b);
        System.out.println("a: "+a+" "+"b:"+b);
        System.out.println("a:"+a+b);//a:1020.0 “a:”先和a拼接，整体是字符串类型，从左往右计算
        System.out.println(a+b+"wc");//30.0wc a和b先相加，得到数值，再和字符串拼接，从左往右计算
        String a1 = "hello ";
        String a2 = "world";
        System.out.println(a1+a2);//字符串拼接
    }

    public static void main5(String[] args){
        byte a = 10;
        byte b = 20;
        //小于4个字节a+b时会先进行整型提升为4个字节，再进行计算，得到的结果也是int
        //byte c = a+b;//编译报错，不兼容的类型：从int转换到byte有可能会有损失
    }


    public static void main4(String[] args){
        int a = 97;
        char ch = (char)a;
        double d = 97.9;
        char ch2 = (char)d;//只储存整数部分，小数部分丢弃
        System.out.println(ch);
        System.out.println(ch2);
    }

    public static void main3(String[] args){
        int a = 10;
        long b = 20;
        //int c = a+b;//编译出错 -》int+long- > long+long 赋值给int可能会丢失数据
        long d = a+b;//编译成功 -》int+long- > long+long 赋值给long
    }

    public static void main2(String[] args){
        boolean flg = true;
        int a = 1;
        //flg = (boolean)a;//强制类型转换不一定能成功，不相干的类型不能相互转换
    }

    public static void main1(String[] args){
        int a = 10;
        long b = 100L;
        b = a;//自动类型转换（隐式转换）数据范围小的转为数据范围大的数会自动进行
        a = (int)b;//不能直接赋值，需要强制类型转换（可能会有数据丢失)
     }

}
